package modelo;
// default package
// Generated 31/10/2014 21:36:21 by Hibernate Tools 3.4.0.CR1

import java.util.Date;
import java.util.HashSet;
import java.util.Set;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;

import static javax.persistence.GenerationType.IDENTITY;

import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * Reserva generated by hbm2java
 */
@Entity
@Table(name = "reserva", catalog = "eventos_compartidos")
public class Reserva implements java.io.Serializable {

	private Integer idReserva;
	private Salon salon;
	private Interesado interesado;
	private Tipoevento tipoevento;
	private Date fechaEvento;
	private Date fechaReserva;
	private Integer cantidadInvitado;
	private Integer cantidadMinimaInvitados;
	private Integer cantidadMaximaInvitados;
	private Float montoReserva;
//	private Set<Combobebidaxreserva> combobebidaxreservas = new HashSet<Combobebidaxreserva>(
//			0);
//	private Set<Servicioadicionalxreserva> servicioadicionalxreservas = new HashSet<Servicioadicionalxreserva>(
//			0);
//	private Set<Menuxreserva> menuxreservas = new HashSet<Menuxreserva>(0);

	public Reserva() {
	}

	

	public Reserva(Integer idReserva, Salon salon, Interesado interesado,
		Tipoevento tipoevento, Date fechaEvento, Date fechaReserva,
		Integer cantidadInvitado, Integer cantidadMinimaInvitados,
		Integer cantidadMaximaInvitados, Float montoReserva) {
	super();
	this.idReserva = idReserva;
	this.salon = salon;
	this.interesado = interesado;
	this.tipoevento = tipoevento;
	this.fechaEvento = fechaEvento;
	this.fechaReserva = fechaReserva;
	this.cantidadInvitado = cantidadInvitado;
	this.cantidadMinimaInvitados = cantidadMinimaInvitados;
	this.cantidadMaximaInvitados = cantidadMaximaInvitados;
	this.montoReserva = montoReserva;
}



	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "idReserva", unique = true, nullable = false)
	public Integer getIdReserva() {
		return this.idReserva;
	}

	public void setIdReserva(Integer idReserva) {
		this.idReserva = idReserva;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "salon")
	public Salon getSalon() {
		return this.salon;
	}

	public void setSalon(Salon salon) {
		this.salon = salon;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "interesado")
	public Interesado getInteresado() {
		return this.interesado;
	}

	public void setInteresado(Interesado interesado) {
		this.interesado = interesado;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "tipoevento")
	public Tipoevento getTipoevento() {
		return this.tipoevento;
	}

	public void setTipoevento(Tipoevento tipoevento) {
		this.tipoevento = tipoevento;
	}

	@Temporal(TemporalType.DATE)
	@Column(name = "fechaEvento", length = 0)
	public Date getFechaEvento() {
		return this.fechaEvento;
	}

	public void setFechaEvento(Date fechaEvento) {
		this.fechaEvento = fechaEvento;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "fechaReserva", length = 0)
	public Date getFechaReserva() {
		return this.fechaReserva;
	}

	public void setFechaReserva(Date fechaReserva) {
		this.fechaReserva = fechaReserva;
	}

	@Column(name = "cantidadInvitado")
	public Integer getCantidadInvitado() {
		return this.cantidadInvitado;
	}

	public void setCantidadInvitado(Integer cantidadInvitado) {
		this.cantidadInvitado = cantidadInvitado;
	}

	@Column(name = "cantidadMinimaInvitados")
	public Integer getCantidadMinimaInvitados() {
		return this.cantidadMinimaInvitados;
	}

	public void setCantidadMinimaInvitados(Integer cantidadMinimaInvitados) {
		this.cantidadMinimaInvitados = cantidadMinimaInvitados;
	}

	@Column(name = "cantidadMaximaInvitados")
	public Integer getCantidadMaximaInvitados() {
		return this.cantidadMaximaInvitados;
	}

	public void setCantidadMaximaInvitados(Integer cantidadMaximaInvitados) {
		this.cantidadMaximaInvitados = cantidadMaximaInvitados;
	}

	@Column(name = "montoReserva", precision = 10, scale = 3)
	public Float getMontoReserva() {
		return this.montoReserva;
	}

	public void setMontoReserva(Float montoReserva) {
		this.montoReserva = montoReserva;
	}

//	@OneToMany(fetch = FetchType.LAZY, mappedBy = "reserva")
//	public Set<Combobebidaxreserva> getCombobebidaxreservas() {
//		return this.combobebidaxreservas;
//	}
//
//	public void setCombobebidaxreservas(
//			Set<Combobebidaxreserva> combobebidaxreservas) {
//		this.combobebidaxreservas = combobebidaxreservas;
//	}
//
//	@OneToMany(fetch = FetchType.LAZY, mappedBy = "reserva")
//	public Set<Servicioadicionalxreserva> getServicioadicionalxreservas() {
//		return this.servicioadicionalxreservas;
//	}
//
//	public void setServicioadicionalxreservas(
//			Set<Servicioadicionalxreserva> servicioadicionalxreservas) {
//		this.servicioadicionalxreservas = servicioadicionalxreservas;
//	}
//
//	@OneToMany(fetch = FetchType.LAZY, mappedBy = "reserva")
//	public Set<Menuxreserva> getMenuxreservas() {
//		return this.menuxreservas;
//	}
//
//	public void setMenuxreservas(Set<Menuxreserva> menuxreservas) {
//		this.menuxreservas = menuxreservas;
//	}

}
